
import ast

from 程序核心代码.ast节点.节点定义.具体ast节点.容器.带容器节点模版 import 带容器ast节点基础模型模板
from 程序核心代码.mvvm重构.基础定义.节点管理器.自动节点注册表 import 注册节点模型


@注册节点模型(ast.Try)
class 异常捕获节点(带容器ast节点基础模型模板):
    def 节点数据解析(self):
        pass

    def __init__(self, ast节点, 所属节点模型管理器, 上级节点=None, 节点位置=None):
        super().__init__(ast节点, 所属节点模型管理器, "异常捕获节点", 节点位置=节点位置, 上级节点=上级节点)
    """
try: #包含可能引发异常的代码。
...
except Exception: 捕获任何 Exception 类型的异常。
   ...
except OtherException as e: #捕获 OtherException 类型的异常，并将异常实例绑定到变量 e。
   ...
else: #如果在 try 块中没有引发任何异常，则执行此块。
   ...
finally: #无论是否引发异常，总是执行此块。
   ...

Try(
body=[
    Expr(
        value=Constant(value=Ellipsis))],
handlers=[         # 捕获异常后的操作 
    ExceptHandler(
        type=Name(id='Exception', ctx=Load()),
        body=[
            Expr(
                value=Constant(value=Ellipsis))]),
    ExceptHandler(
        type=Name(id='OtherException', ctx=Load()),#捕获的异常类型
        name='e',
        body=[
            Expr(
                value=Constant(value=Ellipsis))])],
orelse=[
    Expr(
        value=Constant(value=Ellipsis))],
finalbody=[
    Expr(
        value=Constant(value=Ellipsis))])],
    """

